ホームに戻る
出典 :
目次 :
シート保護とVBA
Excelの機能でワークシートを保護している場合、セルのロックの有無によらずマクロからセルを編集することはできない。
このため、保護されたシートをマクロで編集する場合は保護の解除が必要となる。
Worksheet.Protect メソッドによるマクロの解禁
Worksheet.Protect はシートの保護を有効にするメソッドだが、パラメータ UserInterfaceOnly に True を設定すると
マクロによる変更のみ許可される。(画面上からの変更は禁止。)
既にシートの保護が行われている場合でも有効。
ThisWorkbook
Private Sub Workbook_Open()
' シート2のマクロ実行を解禁
Sheet2.Protect UserInterfaceOnly:=True
End Sub
その他のパラメータに関しては出典元を参照のこと。
シート保護の解除
Worksheet.Unprotect メソッドでシートの保護を解除できる。
これは画面上からの変更、マクロによる変更双方が対象となる。